Wie weise ich einer Zelle in Tabulator.js eine Zeichenfolge mit spitzen Klammern zu, zum Beispiel: „a<b<c'?
P粉718730956
P粉718730956 2023-08-03 13:48:37
0
1
617
<p>Ich habe eine Zelle in einer Tabulator-Tabelle, die einen Listentyp-Editor verwendet. Die Optionen werden mit einem Array von Zeichenfolgen gefüllt, die beispielsweise so aussehen: </p> <pre class="brush:php;toolbar:false;">[ „a<b“, „b<c“, „c<d“, ]</pre> <p>Wenn der Listeneditor gefüllt wird (mithilfe von editorParams:{values:exampleOptions} in der Spaltendefinition) oder wenn ich setValue() direkt für die Zelle verwende, wird das, was auf die spitzen Klammern folgt, verworfen. Im Dropdown-Menü sehe ich also etwa Folgendes: </p> <pre class="brush:php;toolbar:false;">"a", "B", "c",</pre> <p>Wie zeige ich die vollständige Zeichenfolge in der Dropdown-Liste/Zelle an? </p>
P粉718730956
P粉718730956

Antworte allen(1)
P粉659378577

一种方法是使用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>


Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage