ฟิลด์เป็นส่วนสำคัญของการสร้างโค้ด เพราะฟิลด์จะ ค่าที่ผู้ใช้แก้ไขได้ เช่น สตริง ตัวเลข และสี (และอื่นๆ)
การรวมค่าช่องในโค้ดที่สร้างขึ้นเกี่ยวข้องกับการรับค่าของช่อง ให้กลายเป็นสตริงที่ใช้ได้ จากนั้นนำสตริงมาต่อกัน ของโค้ดที่เหลือ
import {javascriptGenerator} from 'blockly/javascript';
javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
// Get the field value.
const fieldValue = block.getFieldValue('MY_FIELD');
// Concatenate the code.
const code = `some code ${fieldValue} some more code`;
// Return the code.
return code;
}
รับค่า
คุณเข้าถึงค่าของช่องได้โดยใช้ getFieldValue
สิ่งที่จะได้รับ
ผลลัพธ์นั้นต่างกันไปในแต่ละฟิลด์ ดังนั้นคุณควรตรวจสอบฟิลด์
ช่องสำหรับข้อมูลเกี่ยวกับช่องนั้นๆ สำหรับ
เช่น ช่องป้อนข้อความจะแสดงข้อความที่ผู้ใช้ป้อนทุกประการ แต่แสดงเมนูแบบเลื่อนลง
จะแสดงสตริงที่เป็นกลางทางภาษาซึ่งเชื่อมโยงกับรายการที่ผู้ใช้
ที่เลือกไว้
เปลี่ยนรูปแบบค่า
ค่าของช่องส่วนใหญ่พร้อมที่จะเชื่อมต่อกับสตริงโค้ดทันที อย่างไรก็ตาม ค่าในช่องบางค่าต้องมีการดำเนินการเพิ่มเติมก่อนจึงจะใช้งานได้
สตริง
โปรแกรมสร้างโค้ดต้องใส่สตริงก่อนที่จะเชื่อมต่อได้
// For a single line text field.
const str = generator.quote_(block.getFieldValue('STR'));
// For a multiline text field.
const str = generator.multiline_quote_(block.getFieldValue('STR'));
ตัวแปร
โปรแกรมสร้างโค้ดต้องขัดชื่อตัวแปรก่อนจึงจะได้ เชื่อมต่อกัน โดยมีความจำเป็น 2 ประการดังนี้
- ผู้ใช้จะป้อนตัวแปรในภาษาที่เลือก ซึ่งหมายความว่า
อาจต้องแปลงเป็นอักขระ ASCII เช่น "
متغير
" จะ แปลงเป็น "_D9_85_D8_AA_D8_BA_D9_8A_D8_B1
" - ตัวแปรอาจขัดแย้งกับคำที่สงวนไว้ ซึ่งหมายความว่า ผู้ดูแลระบบอาจต้อง
แก้ไขเพื่อไม่ให้เกิดข้อขัดแย้ง เช่น "
for
" จะถูกแปลงเป็น "for2
"
const identifier = generator.getVariableName(block.getFieldValue('VAR'));
เชื่อมต่อรหัส
เมื่อได้รับค่าของช่องและแปลงค่าเป็นสตริงแล้ว คุณจะทำสิ่งต่อไปนี้ได้ ให้เชื่อมต่อโค้ดนั้นในที่ที่ถูกต้องด้วยสตริงโค้ด
const code = `some code ${value} some more code`;
รหัสการคืนสินค้า
การบล็อกประเภทต่างๆ กำหนดให้มีการแสดงสตริงโค้ดใน ดังนั้นให้ตรวจสอบหน้าเว็บแต่ละหน้าเพื่อดูข้อมูลเพิ่มเติม: