| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <template>
- <div class="tablebox">
- <rich-text
- :nodes="nodes"
- :class="node.classStr"
- :style="'user-select:' + parseSelect"
- ></rich-text>
- </div>
- </template>
- <script>
- export default {
- name: "wxParseTable",
- props: {
- node: {
- type: Object,
- default() {
- return {};
- },
- },
- },
- inject: ["parseSelect"],
- data() {
- return {
- nodes: [],
- };
- },
- mounted() {
- this.nodes = this.loadNode([this.node]);
- },
- methods: {
- loadNode(node) {
- let obj = [];
- for (let children of node) {
- if (children.node == "element") {
- let t = {
- name: children.tag,
- attrs: {
- class: children.classStr,
- // style: children.styleStr,
- },
- children: children.nodes ? this.loadNode(children.nodes) : [],
- };
- obj.push(t);
- } else if (children.node == "text") {
- obj.push({
- type: "text",
- text: children.text,
- });
- }
- }
- return obj;
- },
- },
- };
- </script>
- <style>
- @import url("../parse.css");
- </style>
|