ส่วนประกอบสเปรดชีตสำหรับ ReactJS

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

ส่วนประกอบสเปรดชีตสำหรับ ReactJS

ส่วนประกอบสเปรดชีตสำหรับ React

⚠️ ต้องการคนดูแล! ฉันไม่สามารถทำให้องค์ประกอบนี้เป็นปัจจุบันและยินดีที่จะมอบกุญแจให้กับคนที่เป็นอยู่



นี่คือองค์ประกอบสเปรดชีตที่สร้างขึ้นใน ReactJS ของ Facebook คุณสามารถดูตัวอย่างได้ที่นี่ .






ภาพหน้าจอ ภาพหน้าจอ



api 3 คืออะไร

การใช้งาน

คอมโพเนนต์เริ่มต้นด้วยออบเจ็กต์การกำหนดค่า หากต้องการ สามารถส่งข้อมูลเริ่มต้นสำหรับสเปรดชีตเป็นอาร์เรย์ของแถวได้ นอกจากนี้ คุณยังสามารถส่งผ่านอาร์เรย์ที่สองที่มีชื่อคลาสสำหรับแต่ละเซลล์ ซึ่งทำให้คุณสามารถจัดสไตล์แต่ละเซลล์ได้แตกต่างกัน



var SpreadsheetComponent = require('react-spreadsheet-component'); React.render(, document.getElementsByTagName('body'));
วัตถุการกำหนดค่า
var config = { // Initial number of row rows: 5, // Initial number of columns columns: 8, // True if the first column in each row is a header (th) hasHeadColumn: true, // True if the data for the first column is just a string. // Set to false if you want to pass custom DOM elements. isHeadColumnString: true, // True if the first row is a header (th) hasHeadRow: true, // True if the data for the cells in the first row contains strings. // Set to false if you want to pass custom DOM elements. isHeadRowString: true, // True if the user can add rows (by navigating down from the last row) canAddRow: true, // True if the user can add columns (by navigating right from the last column) canAddColumn: true, // Override the display value for an empty cell emptyValueSymbol: '-', // Fills the first column with index numbers (1...n) and the first row with index letters (A...ZZZ) hasLetterNumberHeads: true };
วัตถุข้อมูลเริ่มต้น

ออบเจ็กต์ข้อมูลเริ่มต้นประกอบด้วยอาร์เรย์ |_+_| ซึ่งมีอาร์เรย์สำหรับทุกแถว แต่ละดัชนีในอาร์เรย์แสดงถึงเซลล์ มันถูกใช้โดยคอมโพเนนต์เพื่อเติมข้อมูลล่วงหน้าในเซลล์ โปรดทราบว่าการป้อนข้อมูลของผู้ใช้ไม่ได้ถูกเขียนลงในวัตถุนี้ เนื่องจากจะใช้เพียงในการเริ่มต้นเพื่อเติมสถานะเท่านั้น หากคุณต้องการบันทึกการป้อนข้อมูลของผู้ใช้ อ่านด้านล่าง






rows
วัตถุคลาสเซลล์

คุณสามารถกำหนดคลาสที่กำหนดเองให้กับแต่ละเซลล์ได้ ทำตามสคีมาเดียวกันกับออบเจ็กต์ข้อมูลเริ่มต้น

var data = { rows: [ ['Key', 'AAA', 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG'], ['COM', '0,0', '0,1', '0,2', '0,3', '0,4', '0,5', '0,6'], ['DIV', '1,0', '1,1', '1,2', '1,3', '1,4', '1,5', '1,6'], ['DEV', '2,0', '2,1', '2,2', '2,3', '2,4', '2,5', '2,6'], ['ACC', '3,0', '3,1', '3,2', '3,3', '3,4', '3,5', '3,6'] ] };

วงจรชีวิตของข้อมูล

การป้อนข้อมูลของผู้ใช้ไม่ได้ถูกเขียนไปยัง |_+_| ออบเจ็กต์ เนื่องจากมันถูกใช้เพียงในการเริ่มต้นเพื่อเติมสถานะ หากคุณต้องการจับอินพุตของผู้ใช้ สมัครรับการเรียกกลับของ |_+_| และ |_+_| เหตุการณ์บนดิสแพตเชอร์

พารามิเตอร์สุดท้ายคือ |_+_| ของสเปรดชีตที่คุณต้องการสมัครรับข้อมูล

รับสถานะข้อมูลทั้งหมดหลังจากการเปลี่ยนแปลงแต่ละครั้ง
var classes = { rows: [ ['', 'specialHead', '', '', '', '', '', ''], ['', '', '', '', '', '', '', ''], ['', 'error', '', '', '', '', '', ''], ['', 'error changed', '', '', '', '', '', ''], ['', '', '', '', '', '', '', ''] ] };
รับการเปลี่ยนแปลงข้อมูลก่อนเปลี่ยนสถานะ
initialData

งานอื่นๆ ของผู้มอบหมายงาน

ผู้มอบหมายงานเสนอกิจกรรมอื่นๆ ที่คุณสามารถสมัครรับข้อมูลได้:

โปรแกรมควบคุมเครื่องนำทางคู่
  • |_+_| มีการคลิกเซลล์ส่วนหัว (ส่งคืนอาร์เรย์เซลล์ |_+_|)
  • |_+_| เลือกเซลล์แล้ว (ส่งคืนอาร์เรย์เซลล์ |_+_|)
  • |_+_| เซลล์ถูกเบลอ (ส่งคืนอาร์เรย์เซลล์ |_+_|)
  • |_+_| ผู้ใช้เริ่มแก้ไข (ส่งคืนอาร์เรย์เซลล์ |_+_|)
  • |_+_| ผู้ใช้หยุดแก้ไข (ส่งคืนอาร์เรย์เซลล์ |_+_|)
  • |_+_| ผู้ใช้สร้างแถวใหม่ (ส่งคืนดัชนีแถว)
  • |_+_| ผู้ใช้สร้างคอลัมน์ใหม่ (ส่งคืนดัชนีแถว)

เรียกใช้ตัวอย่าง

โคลนที่เก็บจาก GitHub และเปิดโฟลเดอร์ที่สร้างขึ้น:

cellValueChanged

ติดตั้งแพ็คเกจ npm และคอมไพล์ JSX

dataChanged

หากคุณกำลังใช้ Windows ให้รันคำสั่งต่อไปนี้แทน:

spreadsheetId

เปิดตัวอย่างใน example/index.html

good node js หนังสือ

ดาวน์โหลดรายละเอียด:

ผู้เขียน: felixrieseberg

การสาธิต: http://felixrieseberg.github.io/React-Spreadsheet-Component/

รหัสแหล่งที่มา: https://github.com/felixrieseberg/React-Spreadsheet-Component

#reactjs #react #javascript