首頁  >  問答  >  主體

如何將帶有尖括號的字串賦值給Tabulator.js中的儲存格,例如:"a<b<c"?

<p>我在Tabulator表格中有一個使用清單類型編輯器的儲存格。選項由一個字串陣列填充,看起來像這樣(以範例為例):</p> <pre class="brush:php;toolbar:false;">[ "a<b", "b<c", "c<d", ]</pre> <p>當清單編輯器被填入(在列定義中使用editorParams:{values:exampleOptions}),或是當我直接在儲存格上使用setValue()時,它會丟棄尖括號後面的內容。所以在下拉清單中我看到類似這樣的內容:</p> <pre class="brush:php;toolbar:false;">"a", "b", "c",</pre> <p>如何將完整的字串顯示在下拉清單/儲存格中? </p>
P粉718730956P粉718730956444 天前549

全部回覆(1)我來回復

  • P粉659378577

    P粉6593785772023-08-04 00:07:33

    一種方法是使用editorParams中的itemFormatter選項來定義值清單的新元素節點,並傳回包含清單值的元素的innerHTML:

    editorParams: {
      values: ["a<b", "b<c", "c<d"],
      itemFormatter: (label, value, item, element) => {
        const listNode = document.createTextNode(value);
        element.appendChild(listNode);
    
        return element.innerHTML;
      }
    },

    這是在name列上的一個範例:


    const data = [{
        id: 1,
        name: 'Billy Bob',
        age: '12',
        gender: 'male',
        height: 1,
        col: 'red',
        dob: '',
        cheese: 1
      },
      {
        id: 2,
        name: 'Mary May',
        age: '1',
        gender: 'female',
        height: 2,
        col: 'blue',
        dob: '14/05/1982',
        cheese: true
      },
      {
        id: 10,
        name: 'Margret Marmajuke',
        age: '16',
        gender: 'female',
        height: 5,
        col: 'yellow',
        dob: '31/01/1999'
      }
    ]
    
    const table = new Tabulator('#example-table', {
      data: data,
      columns: [{
          title: 'Name',
          field: 'name',
          editor: "list",
          editorParams: {
            values: ["a<b", "b<c", "c<d"],
            itemFormatter: (label, value, item, element) => {
              const listNode = document.createTextNode(value);
              element.appendChild(listNode);
    
              return element.innerHTML;
            }
          },
        },
        {
          title: 'Age',
          field: 'age'
        },
        {
          title: 'Gender',
          field: 'gender'
        },
        {
          title: 'Height',
          field: 'height'
        },
        {
          title: 'Favourite Color',
          field: 'col'
        }
      ]
    })
    <link href="https://unpkg.com/tabulator-tables@5.5.1/dist/css/tabulator.min.css" rel="stylesheet" />
    <script type="text/javascript" src="https://unpkg.com/tabulator-tables@5.5.1/dist/js/tabulator.min.js"></script>
    <div id="example-table"></div>


    #

    回覆
    0
  • 取消回覆